//
//  SDBaseViewController.swift
//  shudong
//
//  Created by luojie on 2018/3/4.
//  Copyright © 2018年 luojie. All rights reserved.
//

import UIKit
// Swift 中，利用 extension 可以把`函数`按照功能分类管理，便于阅读和维护！
// 注意：
// 1. extension 中不能有属性
// 2. extension 中不能重写`父类`本类的方法！重写父类方法，是子类的职责，扩展是对类的扩展！
class SDBaseViewController: UIViewController {
    //表格视图，用户如果没有登陆，就不创建
    var tableView:UITableView?
    //自定义导航条
    lazy var navigationBar = UINavigationBar(frame:CGRect(x:0,y:0,width:UIScreen.cz_screenWidth(),height:64))
    //自定义导航项
    lazy var navItem=UINavigationItem()
    override func viewDidLoad() {
        super.viewDidLoad()
        setupUI()
        //view.backgroundColor = UIColor.cz_random()
        // Do any additional setup after loading the view.
    }
    //重写title的didSet方法
    override var title: String?{
        didSet{
            navItem.title=title
        }
    }
    
    
}
extension SDBaseViewController{
    func setupUI(){
        view.backgroundColor = UIColor.cz_random()
        setupNavigationBar()
        setupTabelView()
        
    }
    //设置表格视图
    private func setupTabelView(){
        tableView=UITableView(frame:view.bounds,style:.plain)
        view.insertSubview(tableView!, belowSubview:navigationBar)
        //设置数据源&代理->目的：子类直接实现数据源方法
        tableView?.dataSource=self
        tableView?.delegate=self
        
    }
    //设置导航条
    private func setupNavigationBar(){
        // add navihation bar
        view.addSubview(navigationBar)
        //讲item设置给bar
        navigationBar.items=[navItem]
        //设置navbar的渲染颜色
        navigationBar.barTintColor=UIColor.cz_color(withHex: 0xF6F6F6)
        //设置navbar的字体颜色
        navigationBar.titleTextAttributes=[NSForegroundColorAttributeName:UIColor.darkGray]
    }
}

extension SDBaseViewController:UITableViewDataSource,UITableViewDelegate{
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 0
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        return UITableViewCell()
    }
}
